import request from '@/utils/request'

// 查询报表配置列表
export function listReportConfig(query) {
  return request({
    url: '/report/config/list',
    method: 'get',
    params: query
  })
}

// 查询报表配置详细
export function getReportConfig(id) {
  return request({
    url: '/report/config/' + id,
    method: 'get'
  })
}

// 根据报表编码查询报表配置
export function getReportConfigByCode(reportCode) {
  return request({
    url: '/report/config/code/' + reportCode,
    method: 'get'
  })
}

// 新增报表配置
export function addReportConfig(data) {
  return request({
    url: '/report/config',
    method: 'post',
    data: data
  })
}

// 修改报表配置
export function updateReportConfig(data) {
  return request({
    url: '/report/config',
    method: 'put',
    data: data
  })
}

// 删除报表配置
export function delReportConfig(id) {
  return request({
    url: '/report/config/' + id,
    method: 'delete'
  })
}

// 查询字段配置列表
export function listFieldConfig(query) {
  return request({
    url: '/report/config/field/list',
    method: 'get',
    params: query
  })
}

// 根据报表编码获取字段配置
export function getFieldsByCode(reportCode) {
  return request({
    url: '/report/config/field/code/' + reportCode,
    method: 'get'
  })
}

// 根据报表编码获取列表字段配置
export function getListFieldsByCode(reportCode) {
  return request({
    url: '/report/config/field/list/' + reportCode,
    method: 'get'
  })
}

// 根据报表编码获取查询字段配置
export function getQueryFieldsByCode(reportCode) {
  return request({
    url: '/report/config/field/query/' + reportCode,
    method: 'get'
  })
}

// 新增字段配置
export function addFieldConfig(data) {
  return request({
    url: '/report/config/field',
    method: 'post',
    data: data
  })
}

// 修改字段配置
export function updateFieldConfig(data) {
  return request({
    url: '/report/config/field',
    method: 'put',
    data: data
  })
}

// 删除字段配置
export function delFieldConfig(id) {
  return request({
    url: '/report/config/field/' + id,
    method: 'delete'
  })
}

// 批量保存字段配置
export function batchSaveFieldConfig(reportCode, data) {
  return request({
    url: '/report/config/field/batch/' + reportCode,
    method: 'post',
    data: data
  })
}
